package x.x.x;

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class StringDatePattern {
    
    /**
     * 
     *@author hanxy17
     * 如修改方法体请自行修改作者信息
     * 当前作者只对自己编写内容负责
     * 
     * 测试目的:测试一个字符串是不是符合yyyy-MM-dd格式的日期
     * 同时测试正则的两种使用方式
     *
     * @param args
     */
    public static void main(String[] args) {
        String patt = "(?:[0-9]{1,4}(?<!^0?0?0?0))-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1[0-9]|2[0-8]|(?:(?<=-(?:0?[13578]|1[02])-)(?:29|3[01]))|(?:(?<=-(?:0?[469]|11)-)(?:29|30))|(?:(?<=(?:(?:[0-9]{0,2}(?!0?0)(?:[02468]?(?<![13579])[048]|[13579][26]))|(?:(?:[02468]?[048]|[13579][26])00))-0?2-)(?:29)))";
        Pattern pattern = Pattern.compile(patt);
        Matcher matcher = pattern.matcher("2016-11-11");
        boolean flag = Pattern.matches(patt, "2011-12-31");
        System.err.println(flag);
        System.err.println(matcher.matches());
        
        }
}
